//
// Created by dsy on 2022/12/27.
//

#include "common.h"

// 从文件中读测试数据
void ReadArr(std::string filename, int *A, int *B, int &n)
{
    /* 输入数据格式:
     * 第一行一个整数n表示元素个数
     * 第二行n个整数表示待排序的元素 */
    std::ifstream filein;
    filein.open(filename.c_str(), std::ios::in);
    filein >> n;
    for (int i = 0; i < n; i++) {
        filein >> A[i];
        B[i] = A[i];
    }
    filein.close();
}

// 排序结果输出到文件, 格式和输入一致
void WriteArr(std::string filename, int *A, int n)
{
    std::ofstream fileout;
    fileout.open(filename.c_str(), std::ios::out);
    fileout << n << std::endl;
    for (int i = 0; i < n; i++) {
        fileout << A[i] << " ";
    }
    fileout.close();
}

// 打印数组到控制台
void Print(int A[], int N)
{
    std::cout << "[";
    for (int i = 0; i < N - 1; i++)
    {
        std::cout << A[i] << ", ";
    }
    std::cout << A[N - 1] << "]" << std::endl;
}